#include <fhe/prims/SpatialNode.h>
#include <fhe/core/Registerers.h>

namespace fhe
{
  namespace core
  {
    FHE_NODE( core, SpatialNode2i );
    FHE_VAR( core, SpatialNode2i, position );
    FHE_VAR( core, SpatialNode2i, rotation );
    FHE_VAR( core, SpatialNode2i, scale );
    FHE_FUNC( core, SpatialNode2i, localTransform );
    FHE_FUNC( core, SpatialNode2i, globalTransform );

    FHE_NODE( core, SpatialNode2d );
    FHE_VAR( core, SpatialNode2d, position );
    FHE_VAR( core, SpatialNode2d, rotation );
    FHE_VAR( core, SpatialNode2d, scale );
    FHE_FUNC( core, SpatialNode2d, localTransform );
    FHE_FUNC( core, SpatialNode2d, globalTransform );

    FHE_NODE( core, SpatialNode3i );
    FHE_VAR( core, SpatialNode3i, position );
    FHE_VAR( core, SpatialNode3i, rotation );
    FHE_VAR( core, SpatialNode3i, scale );
    FHE_FUNC( core, SpatialNode3i, localTransform );
    FHE_FUNC( core, SpatialNode3i, globalTransform );

    FHE_NODE( core, SpatialNode3d );
    FHE_VAR( core, SpatialNode3d, position );
    FHE_VAR( core, SpatialNode3d, rotation );
    FHE_VAR( core, SpatialNode3d, scale );
    FHE_FUNC( core, SpatialNode3d, localTransform );
    FHE_FUNC( core, SpatialNode3d, globalTransform );
  }
}
